package com.pubinfo.passbook.common.model.vo.persion;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pubinfo.passbook.common.handler.rabbitmq.*;
import com.pubinfo.passbook.common.model.bo.rabbitmq.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data

@ApiModel(value = "RabbitmqPersonConvertVO", description = "人员数据")
public class RabbitmqPersonConvertVO {
  /**
   * 11181001
   */
  @TableId(type = IdType.INPUT)
  private Integer acctId;
  
  /**
   * 33035209
   */
  private String acct;
  
  /**
   * 2
   */
  private String acctType;
  
  /**
   * 2099-01-01 00:00:00
   */
  private String disableDate;
  
  /**
   * 2019-01-01 00:00:00
   */
  private String enableDate;
  
  /**
   *
   */
  @TableField(typeHandler = TbAcctCrossRelListTypeHandler.class)
  private List<TbAcctCrossRel> tbAcctCrossRel;
  
  /**
   *
   */
  @TableField(typeHandler = TbAcctOrgRelListTypeHandler.class)
  private List<TbAcctOrgRel> tbAcctOrgRel;
  
  /**
   *
   */
  @TableField(typeHandler = TbPerRLOrgRelListTypeHandler.class)
  private List<TbPerRLOrgRel> tbPerRlOrgRel;
  
  /**
   * 人员
   */
  @TableField(typeHandler = FastjsonTypeHandler.class)
  private JSONObject tbPersonnel;
  
  /**
   * 联系方式tbContact
   */
  @TableField(typeHandler = TbContactListTypeHandler.class)
  private List<TbContact> tbContact;
  
  /**
   * 证件信息
   */
  @TableField(typeHandler = TbCertListTypeHandler.class)
  private List<TbCert> tbCert;
  
  @TableField(typeHandler = HrPostListTypeHandler.class)
  private List<HrPost> hrPost;
  
  @TableField(typeHandler = HrRoleListTypeHandler.class)
  private List<HrRole> hrRole;
  
  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date createDate;
  
  /**
   * 创建人
   */
  private Integer createUser;
  
  /**
   * 修改时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date updateDate;
  
  /**
   * 修改人
   */
  private Integer updateUser;
  
  /**
   * 状态时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date statusDate;
  
  /**
   * 同步时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date createTime;
  
  /**
   * 修改时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date updateTime;
  
  @ApiModelProperty("手机号")
  private String phone;
  @ApiModelProperty("部门名称")
  private String departmentName;
  @ApiModelProperty("部门编码")
  private String departmentCode;
  @ApiModelProperty("公司名称")
  private String orgName;
}
